import java.util.HashMap;

public class work1 {
    public int totalFruit(int[] fruits){
        HashMap<Integer,Integer> map=new HashMap<>();
        int left=0,right=0;
        int max=0;
        int ret=0;
        while (right<fruits.length){
            if(!map.containsKey(fruits[right]))ret++;
            map.put(fruits[right],map.getOrDefault(fruits[right],0)+1);
            while (ret>2){
                map.put(fruits[left],map.get(fruits[left])-1);
                if(map.get(fruits[left])==0){
                    ret--;
                }
                left++;
            }
            max=Math.max(max,right-left+1);
            right++;
        }
        return max;
    }
}
